package beans;



import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import Exceptions.NegocioException;
import basicas.Pessoa;
import basicas.UsuarioSistema;
import util.Fachada;

@ManagedBean
@SessionScoped
public class UsuarioSistemaBean {
	
	private Fachada fachada = Fachada.obterInstancia();

	private UsuarioSistema usuarioSistema = new UsuarioSistema();
	private String  usuarioLogado;
	private String mensagem;
	private Pessoa pessoa;
	
	public String efetuarLogin() {
		
		try {
			setPessoa(fachada.login(usuarioSistema));
			mensagem = "Usuario logado";
			FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("usuario_logado", pessoa);
			return "index.xhtml";
		} catch (NegocioException e) {
			mensagem = e.getMessage();
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(e.getMessage(), e.getMessage()));
			return "";
		}
	}
	
	
	public String sair() {
		FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("usuario_logado");		
		return "login.xhtml";
	}


	public UsuarioSistema getUsuarioSistema() {
		return usuarioSistema;
	}

	public void setUsuarioSistema(UsuarioSistema usuarioSistema) {
		this.usuarioSistema = usuarioSistema;
	}

	public String getUsuarioLogado() {
		return usuarioLogado;
	}

	public void setUsuarioLogado(String usuarioLogado) {
		this.usuarioLogado = usuarioLogado;
	}

	public String getMensagem() {
		return mensagem;
	}

	public void setMensagem(String mensagem) {
		this.mensagem = mensagem;
	}

	public Pessoa getPessoa() {
		return pessoa;
	}

	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

}
